package com.whfc.wxmp.api.sys.service;

import com.whfc.emp.dto.AppWorkTypeDTO;
import com.whfc.emp.entity.ClassMeeting;
import com.whfc.entity.dto.Apply.rep.*;
import com.whfc.entity.dto.Apply.req.*;
import com.whfc.fuum.entity.WxUser;
import com.whfc.mach.entity.AppMach;
import com.whfc.wxmp.dto.EntryApplicationDTO;
import com.whfc.wxmp.dto.EntryApplicationDetailRep;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * @author xie_jiangyong
 * @description
 * @date 2025-09-13
 */
public interface WxApplyService {

    /**
     * 人员入厂申请
     *
     * @param req
     * @return Result
     */
    String saveApplyPersonnel(WxUser user, AppEntryApplicationDTO req);

    /**
     * 查询人员信息
     *
     * @param empNames
     * @return Result
     */
    List<SafetyTrainingExamReq> queryPersonnel(QueryPersonnelReq req);

    /**
     * 获取机构
     *
     * @return Result
     */
    List<InstitutionRep> queryInstitution(WxUser user,Integer deptId);

    /**
     * 入场审核列表
     *
     * @return Result
     */
    List<EntryApplicationDTO> entryReview(WxUser user, ApprovalRecordReq req);

    /**
     * 入场审核
     *
     * @return Result
     */
    String applyEntryReview(WxUser user,Integer approvalResult, Integer id);

    String uplodFile(MultipartFile file);

    int updateFilePath(ClassMeeting classMeeting);

    List<StaffInfoRep> querycheckInList(QuerycheckInListReq req);

    List<AppWorkTypeDTO> queryCategory(Integer depyId);

    EntryApplicationDetailRep queryEntryDetails(WxUser user, Integer id);

    AppEntryApplicationWxRep queryEntryInfo(Integer id);

    List<AppMach> queryEquipmentList(Integer deptId);

    List<ApprovalInfoRep> queryApprovalList(Integer applicationId);
}
